
package net.guerlab.sdk.anubis.entity;

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 收货人信息
 * 
 * @author guer
 *
 */
public class ReceiverInfo {

    /**
     * 收货人姓名
     */
    @JsonProperty("receiver_name")
    private String receiverName;

    /**
     * 收货人联系方式，只支持手机号，400开头电话，座机号码以及95013开头、长度13位的虚拟电话
     */
    @JsonProperty("receiver_primary_phone")
    private String receiverPrimaryPhone;

    /**
     * 收货人备用联系方式，只支持手机号，400开头电话，座机号码以及95013开头、长度13位的虚拟电话
     */
    @JsonProperty("receiver_second_phone")
    private String receiverSecondPhone;

    /**
     * 收货人地址
     */
    @JsonProperty("receiver_address")
    private String receiverAddress;

    /**
     * 收货人经度，取值范围0～180
     */
    @JsonProperty("receiver_longitude")
    private BigDecimal receiverLongitude;

    /**
     * 收货人纬度，取值范围0～90
     */
    @JsonProperty("receiver_latitude")
    private BigDecimal receiverLatitude;

    /**
     * 收货人经纬度来源
     * <ul>
     * <li>1:腾讯地图</li>
     * <li>2:百度地图</li>
     * <li>3:高德地图</li>
     * </ul>
     */
    @JsonProperty("position_source")
    private int positionSource;

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("ReceiverInfo [receiverName=");
        builder.append(receiverName);
        builder.append(", receiverPrimaryPhone=");
        builder.append(receiverPrimaryPhone);
        builder.append(", receiverSecondPhone=");
        builder.append(receiverSecondPhone);
        builder.append(", receiverAddress=");
        builder.append(receiverAddress);
        builder.append(", receiverLongitude=");
        builder.append(receiverLongitude);
        builder.append(", receiverLatitude=");
        builder.append(receiverLatitude);
        builder.append(", positionSource=");
        builder.append(positionSource);
        builder.append("]");
        return builder.toString();
    }

    /**
     * 返回 收货人姓名
     *
     * @return 收货人姓名
     */
    public String getReceiverName() {
        return receiverName;
    }

    /**
     * 设置收货人姓名
     *
     * @param receiverName
     *            收货人姓名
     */
    public void setReceiverName(
            String receiverName) {
        this.receiverName = receiverName;
    }

    /**
     * 返回 收货人联系方式<br>
     * 只支持手机号，400开头电话，座机号码以及95013开头、长度13位的虚拟电话
     *
     * @return 收货人联系方式
     */
    public String getReceiverPrimaryPhone() {
        return receiverPrimaryPhone;
    }

    /**
     * 设置收货人联系方式<br>
     * 只支持手机号，400开头电话，座机号码以及95013开头、长度13位的虚拟电话
     *
     * @param receiverPrimaryPhone
     *            收货人联系方式
     */
    public void setReceiverPrimaryPhone(
            String receiverPrimaryPhone) {
        this.receiverPrimaryPhone = receiverPrimaryPhone;
    }

    /**
     * 返回 收货人备用联系方式<br>
     * 只支持手机号，400开头电话，座机号码以及95013开头、长度13位的虚拟电话
     *
     * @return 收货人备用联系方式
     */
    public String getReceiverSecondPhone() {
        return receiverSecondPhone;
    }

    /**
     * 设置收货人备用联系方式<br>
     * 只支持手机号，400开头电话，座机号码以及95013开头、长度13位的虚拟电话
     *
     * @param receiverSecondPhone
     *            收货人备用联系方式
     */
    public void setReceiverSecondPhone(
            String receiverSecondPhone) {
        this.receiverSecondPhone = receiverSecondPhone;
    }

    /**
     * 返回 收货人地址
     *
     * @return 收货人地址
     */
    public String getReceiverAddress() {
        return receiverAddress;
    }

    /**
     * 设置收货人地址
     *
     * @param receiverAddress
     *            收货人地址
     */
    public void setReceiverAddress(
            String receiverAddress) {
        this.receiverAddress = receiverAddress;
    }

    /**
     * 返回 收货人经度，取值范围0～180
     *
     * @return 收货人经度
     */
    public BigDecimal getReceiverLongitude() {
        return receiverLongitude;
    }

    /**
     * 设置收货人经度，取值范围0～180
     *
     * @param receiverLongitude
     *            收货人经度
     */
    public void setReceiverLongitude(
            BigDecimal receiverLongitude) {
        this.receiverLongitude = receiverLongitude;
    }

    /**
     * 返回 收货人纬度，取值范围0～90
     *
     * @return 收货人纬度
     */
    public BigDecimal getReceiverLatitude() {
        return receiverLatitude;
    }

    /**
     * 设置收货人纬度，取值范围0～90
     *
     * @param receiverLatitude
     *            收货人纬度
     */
    public void setReceiverLatitude(
            BigDecimal receiverLatitude) {
        this.receiverLatitude = receiverLatitude;
    }

    /**
     * 返回 收货人经纬度来源
     * <ul>
     * <li>1:腾讯地图</li>
     * <li>2:百度地图</li>
     * <li>3:高德地图</li>
     * </ul>
     *
     * @return 收货人经纬度来源
     */
    public int getPositionSource() {
        return positionSource;
    }

    /**
     * 设置收货人经纬度来源
     * <ul>
     * <li>1:腾讯地图</li>
     * <li>2:百度地图</li>
     * <li>3:高德地图</li>
     * </ul>
     *
     * @param positionSource
     *            收货人经纬度来源
     */
    public void setPositionSource(
            int positionSource) {
        this.positionSource = positionSource;
    }

}